#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const double eps=1e-6;
int T,ans;
ll res=0;
int n,m, l,v;
const int maxn=1e5+10;
struct car
{
    int d,v,a;
}c[maxn];
int p[maxn];
int main ()
{
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
    cin>>T;
    while(T--)
    {
        int mind=1e8;
        res=0;
        cin>>n>>m>>l>>v;
        for(int i=1;i<=n;i++)
        {
            cin>>c[i].d>>c[i].v>>c[i].a;
        }
        for(int i=1;i<=m;i++)
        {
            cin>>p[i];
        }
        for(int i=1;i<=n;i++)
        {
            if(c[i].v>v)
            {
                mind=min(mind,c[i].d);
            }
        }
        int maxp=0;
        for(int i=1;i<=m;i++)
        {
            maxp=max(maxp,p[i]);
        }
        for(int i=1;i<=n;i++)
        {
            if(c[i].v>v&&c[i].d<=maxp)
            {
                res++;
            }
        }
        cout<<res<<" ";
        int f=0;
        for(int i=1;i<=m;i++)
        {
            if(p[i]>=mind) f=1;
        }
        cout<<m-f<<endl;
    }
    //cout<<"I AK CSP-S!!!\nCSP-S2024rp++!!!";
    return 0;
}
